package utils;



public class utils_parser {

	public static Integer getvalue(String toparse){
		toparse = toparse.substring(toparse.indexOf("("), toparse.indexOf(")")+1);
		try{
			if(toparse.contains("*")){
				String temp = toparse.substring(toparse.indexOf("(")+1, toparse.indexOf("*")).trim();
				return Integer.parseInt(temp);
			}else if(toparse.contains("{")){
				String temp = toparse.substring(toparse.indexOf("(")+1, toparse.indexOf(" ")).trim();
				return Integer.parseInt(temp);
			}else if(toparse.contains("-")){
				String temp = toparse.substring(toparse.indexOf("(")+1, toparse.indexOf("-")).trim();
				return Integer.parseInt(temp);
			}else{
				String temp = toparse.substring(toparse.indexOf("(")+1, toparse.indexOf(")")).trim();
				try{
					return Integer.parseInt(temp);
				}catch (Exception ex){
					return null;
				}
			}
		}catch (Exception ex){
			System.out.println(toparse);
			return null;
		}
	}
	
	public static Integer getsecondaryvalue(String toparse){
		if(toparse.contains("<")){
			String temp = toparse.substring(toparse.indexOf("<")+1, toparse.indexOf(">")).trim();
			return Integer.parseInt(temp);
		}else{
			return null;
		}
	}
	public static String getString(String toparse){
		if(toparse.contains("@")){
			return toparse.substring(toparse.indexOf("[")+1).trim();
		}else if(toparse.indexOf("(")==0){
			try{
				return toparse.substring(toparse.indexOf(" "), toparse.indexOf("{")).trim();
			}catch (Exception ex){
				return null;
			}
		}else{
			return toparse.substring(toparse.indexOf("[")+1, toparse.indexOf("{")).trim();
		}	
	}

	public static Long getid(String toparse){
		if(toparse.contains("{")){
			String temp = toparse.substring(toparse.indexOf("{")+1, toparse.indexOf("}")).trim();;
			return Long.parseLong(temp);
		}else{
			return null;
		}
	}
	public static String getDate(String path){
		String result = path.substring(path.indexOf("_")+1);
		return result.substring(0, result.indexOf("_"));
	}
	
	public static boolean isidentic(Long value, Long tested, Long error){
		if((tested.longValue()>(value.longValue()-error.longValue()))&&(tested.longValue()<(value.longValue()+error.longValue()))){
			return true;
		}else{
			return false;
		}
	}

	public static boolean isidentic(long time_rez, long time_start,
			long error) {
		if((time_rez>(time_start-error))&&(time_rez<(time_start+error))){
			return true;
		}else{
			return false;
		}
	}
	
}
